API Documentation
Scheduler.h
1 // Scheduler.h
3 //
5 
6 namespace nkTasks
7 {
11  class Scheduler final
12  {
13  public :
14 
20  Scheduler (unsigned int threadCount = 0) ;
25 
26  // Getters
30  unsigned int getThreadCount () const ;
35  Thread* getThread (unsigned int index) const ;
36 
37  // Tasks
56 
62  void tick () ;
63 
64  // Threads
71  void flush () ;
77  void resizeForThreadCount (size_t threadCount) ;
78  } ;
79 }
nkTasks::Thread
Symbolizes a thread. Base block to submit off-thread nkTasks::Task in this component.
Definition: Thread.h:12
nkTasks::Scheduler::getThread
Thread * getThread(unsigned int index) const
nkTasks::Scheduler::resizeForThreadCount
void resizeForThreadCount(size_t threadCount)
nkTasks::Scheduler::resolveTask
void resolveTask(nkMemory::UniquePtr< SchedulerTask > task)
nkTasks::Scheduler::~Scheduler
~Scheduler()
nkTasks::Scheduler::getThreadCount
unsigned int getThreadCount() const
nkTasks
Encompasses all API of component NilkinsTasks.
Definition: LogManager.h:7
nkMemory::UniquePtr
Smart pointer owning the object instance it encapsulates.
Definition: UniquePtr.h:17
nkTasks::Scheduler::addTask
void addTask(nkMemory::UniquePtr< SchedulerTask > task)
nkTasks::Scheduler::flush
void flush()
nkTasks::Scheduler::Scheduler
Scheduler(unsigned int threadCount=0)
nkTasks::Scheduler::tick
void tick()
nkTasks::Scheduler::cancelPendingTasks
void cancelPendingTasks()
nkTasks::Scheduler
Manages a ThreadPool and eases the synchronization with the managing thread.
Definition: Scheduler.h:12